from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
import time
d = webdriver.Chrome()
d.maximize_window()
d.get('https://www.qq.com')
time.sleep(3)

# 定位搜索图标
# search = d.find_element(By.CSS_SELECTOR,'[class="searchBtn"]')
# res = search.is_displayed() # is_displayed()方法，显示返回True 不显示返回False
# print(res)

# 隐藏元素：只能定位，不可以操作

# 如何执行js语句
# window.scrollTo(0,与顶部的距离)；拉动窗口的滚动条
js = 'window.scrollTo(0,800);'
d.execute_script(js)

# 鼠标移动到更多
# 1、先定位到更多
more = d.find_element(By.CSS_SELECTOR,'[class="more-txt"]')
# 2、移动到更多上面 ActionChains(浏览器).move_to_element(移动到哪个元素).perform()
ActionChains(d).move_to_element(more).perform()
time.sleep(3)
weather = d.find_element(By.LINK_TEXT,'天气')
weather.click()
time.sleep(7)

# 此时有两个窗口，selenuim 默认只在第一个窗口进行操作
all_windows = d.window_handles # 1、获取所有的窗口列表  【窗口1，窗口2】
d.switch_to.window(all_windows[1])
d.close() # 关闭当前窗口


time.sleep(10)
d.quit() # 关闭所有窗口并且退出驱动